The representation of objects in space is not a new art. For many centuries, people have tried to represent forms or shapes in space for various purposes ranging from Architecture to Art. Most modern computer graphics systems use a very simple representation of forms, namely polygons that are combined in great numbers to compose complex 3D forms. Polygons are mathematically very simple to specify and to use in the generation of the display output.
A form may be represented by a surface in two different ways.
A first way to represent a form is by using a parametric surface. Parametric surfaces comprises, for instance, Bezier curves, Splines, nonuniform rational B-splines (NURBS), etc. This first way to represent forms is widely used by computers, and in fact, the parametric surfaces are linked to the base polygon structure of the form. However, it will be appreciated that these surfaces are approximation. To overcome such limitations, it is possible to combine a plurality of parametric surfaces to represent a more complex form.
A person skilled in the art will appreciate the fact that such an approach is resource intensive. Using such simplified “primitives” to build a representation of a complex object required a great deal of specification for an object, and also requires significant data processing and management to create and display forms. It will also be appreciated that such an approach provides often only an approximation of the form. This is particularly the case when a complex form must be created. When such a form is magnified, the boundaries between the primitives are often noticeable.
A second way to represent the form is by using implicit surfaces. Implicit surfaces may be either of the algebraic form or of the geometric form as explained in Introduction to Implicit surfaces by Chandrajit Bajaj et al and published by Morgan Kaufmann Publishers, Inc, the specification of which is enclosed by reference.
For instance, a sphere centered at the origin can be defined in an algebraic form using its algebraic equation, x^2+y^2+z^2=r^2, and the size of the sphere determined by setting the value of its radius ‘r’. The algebraic equation for a sphere having its center at coordinates (a,b,c) is (x−a)^2+(y−b)^2+(z−c)^2=r^2. A sphere is defined in the geometric form using geometric properties. In this particular case, the radius and the center are used to uniquely define the surface. When a substantial portion of a form is represented by an algebraic expression, detail is not lost when the form is displayed with great magnification. In the case of a sphere, it will also be appreciated that the form is represented by four values, namely a,b,c,r, while a parametric expression based on Bezier primitives would require a much larger number of components to define the form.
A person skilled in the art will note that it is actually very difficult to provide an equation for a high order surface used to represent a complex form in general. While a general equation can be used for a sphere, it is a challenge to provide a general system able to provide an algebraic expression for a form as defined by its geometric properties, such as center and radius. In most cases, the derivation of the algebraic equation corresponding to a form defined by geometric properties is not only computationally complex and time consuming, but also unpredictable and unstable, namely the algorithms lead to unsolvable equations. While a combination of more simple algebraic forms may be used to create a shape representing the form, it will be appreciated that such way is not efficient as it is also highly resource intensive. As a consequence, a transfer of data related to a shape representing a form requires a large bandwidth. It will also be appreciated that it is usually not possible to have an idea of the shape when an algebraic form is used.
Applicant, Jean Francois Rotgé, demonstrated in his thesis “L'Arithmetique des Formes: Une introduction à la logique de l'espace”, Chapter 55 how to define second order 3D surfaces by their geometric properties. The approach demonstrated in the thesis is not generally known or applied in the art of computer graphics, and is based on mathematics that cannot be extended to higher orders. Second order forms, such as spheres, ellipsoids, hyperboloids and the like are of relative simplicity in comparison to higher order forms. By combining such second order surfaces, it is possible to generate a shape for representing a complex form. Unfortunately, since the method is restricted to the second order, it is of limited value for modeling complex objects.
In view of the above, there is a need for a method and apparatus that will overcome the above-identified drawbacks.